﻿Imports AccesoDatos

Public Class MultiSalario

#Region "Stephan"

    ''' <summary>
    ''' Realiza una busqueda de todos los salarios en la base de datos.
    ''' </summary>
    ''' <returns>Lista de objetos Salario</returns>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 24/06/2010, Modificado: 24/06/2010.</remarks>
    Public Shared Function buscarSalarios() As List(Of Salario)
        Dim dr As IDataReader
        Dim listaSalariosCuentas As New List(Of Salario)
        Dim sql As String

        sql = "SELECT * FROM t_salario"

        dr = g_access.ejecutarQuery(sql)

        While dr.Read()
            listaSalariosCuentas.Add(cargarSalario(dr))
        End While

        Return listaSalariosCuentas
    End Function

    ''' <summary>
    ''' Crea un objeto Salario resiviendo un IDataReader
    ''' </summary>
    ''' <param name="dr">IData Reader con los datos de salarios</param>
    ''' <returns>Salario</returns>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 24/06/2010, Modificado: 24/06/2010.</remarks>
    Public Shared Function cargarSalario(ByVal dr As IDataReader) As Salario
        Dim objMovimiento As Salario
        With dr
            objMovimiento = New Salario(CStr(.Item("codigo_empleado")), CDate(.Item("fecha")), CDbl(.Item("salario_bruto")), CDbl(.Item("salario_neto")), CDbl(.Item("bono_valor")))
        End With
        Return objMovimiento
    End Function

#End Region

#Region "Elías Baldioceda"
    ''' <summary>
    ''' Busca los salarios de un empleado.
    ''' </summary>
    ''' <param name="p_identificacion">Número de identificación.</param>
    ''' <returns>Lista de objetos Salario.</returns>
    ''' <remarks>Creador por: Elías Baldioceda, Fecha: 28/06/2010, Modificado: 28/06/2010.</remarks>
    Public Shared Function buscar(ByVal p_identificacion As String) As List(Of Salario)
        Dim dr As IDataReader
        Dim salarios As New List(Of Salario)
        Dim sql As String
        Dim pars(0) As Parametro

        sql = "SELECT * FROM t_salario WHERE codigo_empleado=p_identificacion ORDER BY fecha DESC;"
        pars(0) = New Parametro("p_identificacion", p_identificacion)

        dr = g_access.ejecutarQuery(sql, pars)

        While dr.Read()
            salarios.Add(cargarSalario(dr))
        End While

        Return salarios
    End Function
#End Region

End Class
